package entities.concept;

import entities.vocabulary.Display;

public class NotConcept extends Concept{
	private Concept con = null;
	
	public NotConcept(Concept con){
		this.con = con;
	}
	
	public Concept getConcept(){
		return this.con;
	}

	@Override
	public int hashCode() {
		final int prime = 127;
		int result = 1;
		result = prime * result + ((con == null) ? 0 : con.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (!(obj instanceof NotConcept))
			return false;
		NotConcept other = (NotConcept) obj;
		if (con == null) {
			if (other.con != null)
				return false;
		} else if (!con.equals(other.con))
			return false;
		return true;
	}
	
	@Override
	public String toString() {
		return Display.NOTUNICODE+" " + con.toString() + "";
	}

	@Override
	public Concept getPrimeCopy() {
		return new NotConcept(con.getPrimeCopy());
	}
	
	
}
